HTMLify
Happiest Triplet.py
Views: 37 | Author: prakhardoneria
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | class Solution: def smallestDiff(self, a, b, c): a.sort() b.sort() c.sort() i, j, k = 0, 0, 0 n = len(a) min_diff = float('inf') min_sum = float('inf') result = [] while i < n and j < n and k < n: val_a, val_b, val_c = a[i], b[j], c[k] curr_max = max(val_a, val_b, val_c) curr_min = min(val_a, val_b, val_c) curr_diff = curr_max - curr_min curr_sum = val_a + val_b + val_c if curr_diff < min_diff: min_diff = curr_diff min_sum = curr_sum result = sorted([val_a, val_b, val_c], reverse=True) elif curr_diff == min_diff: if curr_sum < min_sum: min_sum = curr_sum result = sorted([val_a, val_b, val_c], reverse=True) if val_a == curr_min: i += 1 elif val_b == curr_min: j += 1 else: k += 1 return result |